﻿using MotorLibrary.Model;
using MotorLibrary.Repository.DTO;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MotorLibrary.Repository.Converter
{
    public class VariableConverter: IVariableConverter
    {
        private IEndpointConverter _endpointConverter;
        public VariableConverter(IEndpointConverter endpointConverter)
        {
            this._endpointConverter = endpointConverter;
        }

        public Variable DtoToEntity(VariableDTO dto)
        {
            Variable resultado;

            if (dto == null)
            {
                resultado = null;
            }
            else
            {
                resultado = new Variable();

                resultado.ID = dto.ID;
                resultado.EndpointID = dto.EndpointID;
                resultado.Nombre = dto.Nombre;
                resultado.Endpoint = _endpointConverter.DtoToEntity(dto.Endpoint);
            }

            return resultado;
        }

        public VariableDTO EntityToDto(Variable entity)
        {
            VariableDTO resultado;

            if (entity == null)
            {
                resultado = null;
            }
            else
            {
                resultado = new VariableDTO();

                resultado.ID = entity.ID;
                resultado.EndpointID = entity.EndpointID;
                resultado.Nombre = entity.Nombre;
                resultado.Endpoint = _endpointConverter.EntityToDto(entity.Endpoint);
            }

            return resultado;
        }
    }
}
